Assisting use of control devices with different electronic devices

ABSTRACT

A remote determines an acknowledgement is not received for a command transmitted to a first device, broadcasts a discovery message, receives a response from a second device that received the discovery message and a proximity signal from the remote, and configures itself to control the second device. The remote may also transmit an acknowledgement to the second device. The second device may notify the first device. In various implementations, configuration information in the response may include pairing information and the remote may unpair itself from the first device and pair with the second device. In some implementations, the remote may include a table for controlling devices and the remote may utilize an entry in the table for the second device instead of the first device. In various implementations, the remote may receive responses to the discovery message from multiple devices and may select one to configure itself to control.

FIELD OF THE INVENTION

This disclosure relates generally to control devices, and morespecifically to assisting the use of control devices with differentelectronic devices.

SUMMARY

The present disclosure discloses systems and methods for assisting useof control devices with different electronic devices. A control devicemay transmit a command to a first electronic device that the controldevice is configured to control. If the control device determines thatan acknowledgement is not received in response to the command, thecontrol device may broadcast a discovery message to all electronicdevices that are operable to be controlled by the control device and arewithin range of the signal utilized to broadcast the discovery message.The control device may receive a response to the discovery message froma second electronic device that received the discovery message and atleast one proximity signal that was transmitted by the control device.Utilizing configuration information included in the response, thecontrol device may configure itself to control the second electronicdevice.

In various implementations, the control device may transmit anacknowledgement to the second electronic device indicating that thecontrol device is now configured to control the second electronicdevice. In some implementations, if the second electronic device isconfigured to communicate with the first electronic device, the secondelectronic device may notify the first electronic device that thecontrol device is now configured to control the second electronicdevice.

In one or more implementations, the configuration information mayinclude pairing information for pairing the control device with thesecond electronic device. In such implementations, configuring thecontrol device to control the second electronic device may includeunpairing the control device from the first electronic device andutilizing the pairing information to pair with the second electronicdevice. In one or more other implementations, the control device mayinclude a table of control entries for controlling one or more of aplurality of electronic devices. In such implementations, configuringthe control device to control the second electronic device may includeconfiguring the control device to utilize an entry in the table for thesecond electronic device instead of an entry for the first electronicdevice.

In various implementations, the control device may receive responses tothe discovery message from a variety of different electronic devices. Insuch implementations, the control device may select one of theresponding electronic devices and configure itself to control theselected responding electronic device. Such selection may be based onwhich response is received first, which response is carried by a signalwith the highest signal strength, which responses include a validauthorization identifier, whether the control device has previously beenconfigured to control an electronic device corresponding to a response,user input specifying which responding electronic device to select, andso on.

It is to be understood that both the foregoing general description andthe following detailed description are for purposes of example andexplanation and do not necessarily limit the present disclosure. Theaccompanying drawings, which are incorporated in and constitute a partof the specification, illustrate subject matter of the disclosure.Together, the descriptions and the drawings serve to explain theprinciples of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a system for assisting use ofcontrol devices with different content players in a network of contentplayers.

FIG. 2 is a flow chart illustrating a first example method for assistinguse of control devices with different content players in a network ofcontent players. This method may be performed by the system of FIG. 1.

FIG. 3 is a flow chart illustrating a second example method forassisting use of control devices with different content players in anetwork of content players. This method may be performed by the systemof FIG. 1.

FIGS. 4A-4E are diagrams illustrating a user utilizing a system forassisting use of control devices with different content players in anetwork of content players. The system may be the system of FIG. 1.

FIG. 5 a flow chart illustrating a first example method for assistinguse of control devices with different electronic devices. This methodmay be performed by the control device of FIG. 1.

FIG. 6 a flow chart illustrating a second example method for assistinguse of control devices with different electronic devices. This methodmay be performed by the content player of FIG. 1.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The description that follows includes sample systems, methods, andcomputer program products that embody various elements of the presentdisclosure. However, it should be understood that the describeddisclosure may be practiced in a variety of forms in addition to thosedescribed herein.

Electronic devices of varying kinds may perform any number of a varietyof different functions. These functions may be performed in response toinstructions received via one or more associated control devices, suchas one or more remote control devices. Examples of such electronicdevices include content players, electronic kitchen appliances,automobiles, televisions, set top boxes, television receivers, digitalvideo recorders, television tuners, digital music players, desktopcomputers, laptop computers, cellular telephones, smart phones, mobilecomputing devices, environmental control systems, and so on.

In some cases, control devices may be dedicated to a particularelectronic device. However, in other cases, a single control device maybe configured to be utilized with one or more of a number of differentelectronic devices at a particular time. For example, a number ofdifferent electronic devices of a particular type may be arranged withina particular location. A control device may be configured such that thecontrol device may be utilized to control any one of the differentelectronic devices at a particular time. This may be accomplished bypairing the control device with (or otherwise configuring the controldevice to control) the particular electronic device which the controldevice is to control. In order to utilize the control device to controla different electronic device, the control device may be paired with (orotherwise configuring the control device to control) the differentelectronic device unpairing the control device from (or otherwiseconfiguring the control device to no longer control) the electronicdevice with which the control device was previously paired (or otherwiseconfigured to control).

As such a control device may be utilized in a variety of differentlocations, the control device may request one or more acknowledgementsfor one or more commands that the control device transmits to anelectronic device with which the control device is paired or otherwiseconfigured to control. If the control device transmits a command anddoes not receive an acknowledgement, the control device may assume thateither the electronic device did not receive the command or the controldevice was unable to receive the acknowledgement. In either case, thecontrol device may determine that the control device can no longer beutilized to control the electronic device with which the control deviceis paired or otherwise configured to control.

Even though the control device may be able to thusly determine that thecontrol device can no longer be utilized to control the electronicdevice with which the control device is paired or otherwise configuredto control, the control device may be unable to determine a newelectronic device that the control device should be paired with orotherwise configured to control. For example, the control device may notreceive an acknowledgement for a transmitted command from a firstelectronic device which the control device is paired or otherwiseconfigured to control because a user has taken the remote from the areawhere the first electronic device is located into an area where one ormore other electronic devices are located. If the control device ispaired with or otherwise configured to control the one or more otherelectronic devices then the user may be able to utilize the controldevice with the one or more other electronic devices. However, as thecontrol device can no longer be utilized to control the first electronicdevice, the control device may be effectively useless to the user untilthe control device is paired with or otherwise configured to control theone or more other electronic devices.

The present disclosure discloses systems and methods for assisting useof control devices with different electronic devices. A control device(such as a remote control device) may determine that an acknowledgementis not received in response to a command transmitted to a firstelectronic device which the control device is configured to control. Inresponse to this determination, the control device may broadcast adiscovery message to all electronic devices that are operable to becontrolled by the control device and are within range of the signalutilized to broadcast the discovery message. The control device mayreceive a response to the discovery message from a second electronicdevice that received the discovery message and at least one proximitysignal that was transmitted by the control device. Utilizingconfiguration information included in the response, the control devicemay configure itself to control the second electronic device and maytransmit an acknowledgement of such to the second electronic device. Ifthe second electronic device is configured to communicate with the firstelectronic device, the second electronic device may notify the firstelectronic device that the control device is now configured to controlthe second electronic device.

FIG. 1 is a block diagram illustrating a system 100 for assisting use ofcontrol devices with different content players in a network of contentplayers. The system 100 includes a content player 101 and contentplayers A-N 104A-104N (which each may be any kind of content player suchas a set top box, a television receiver, a digital video recorder, atelevision tuner, a digital music player, a desktop computer, a laptopcomputer, a cellular telephone, a smart phone, a mobile computingdevice, and/or any other kind of device operable to play content) thatare communicably coupled by one or more networks 103 (which may be anEthernet network, a coaxial cable network, a MoCA® (Multimedia Over CoaxAlliance) network, a WiFi network, a HomePlug network, and/or any otherkind of network that communicably connects the content player 101 andthe content players A-N 104A-104N). The system may also include acontrol device 102 which may be configured to control the content player101 and/or the content players A-N 104A-104N in order to control thecontent player 101 and/or the content players A-N 104A-104N.

The content player 101 (and/or the content players A-N 104A-104N) mayinclude one or more processing units 106, one or more non-transitorystorage media 107 (which may take the form of, but is not limited to, amagnetic storage medium; optical storage medium; magneto-optical storagemedium; read only memory; random access memory; erasable programmablememory; flash memory; and so on), one or more communication components108, one or more infrared (IR) transmitters and/or receivers 109, one ormore radio frequency (RF) transmitters and/or receivers 110, and/or oneor more output components 111. The processing unit 106 may executeinstructions stored in the non-transitory storage medium 107 to transmitcontent (such as content stored in the non-transitory storage medium 107and/or content being received via the communication component 108 and/ornon-networked communication components not shown such as a satellitereceiver component) to one or more presentation devices, such as one ormore display devices 105 and/or devices not shown such as audioamplifiers, via the output component. Further, the processing unit 106may execute instructions stored in the non-transitory storage medium 107to communicate with other content players connected to the network 103via the communication component and/or send signals to and/or receivesignals from the control device 102 via the infrared transmitter and/orreceiver 109 and/or the radio frequency transmitter and/or receiver 110.

The control device 102 may include one or more processing units 112, oneor more non-transitory storage media 115, one or more IR transmittersand/or receivers 114, and/or one or more RF transmitters and/orreceivers 113. The processing unit 112 may execute instructions storedin the non-transitory storage medium 115 to initiate a configurationsequence to configure to control the content player 101 and/or thecontent players A-N 104A-104N and/or control the content played of thecontent player 101 and/or the content players A-N 104A-104N with whichthe control device is configured to control. In some cases, suchoperations may be performed in response to user input received via oneor more user input elements included by the control device (not shown).For example, the control device may include a dedicated “configure tocontrol device” button that initiates a configuration sequence toconfigure the control device to control a content player which is withinIR signaling proximity of the control device. By way of another example,attempting to utilize the control device with a content player that isnot currently configured to be controlled with the control device mayinitiate a configuration sequence to configure the control device tocontrol the content player not previously controlled by the controldevice.

In various implementations, a configuration sequence to configure thecontrol device 102 to control one of the content player 101 and/or thecontent players A-N 104A-104N may include transmitting a RF signal tothe content receiver with which the control device is currentlyconfigured to control via the RF transmitter and/or receiver 113 andtransmitting an IR signal to a content player which is within IRsignaling proximity to the control device (and to which the controldevice is to be configured to control) via the IR transmitter and/orreceiver 114. As the IR signal may only be received by a content playerthat is located proximate and within line-of-sight to the controldevice, if a user indicates via the control device that the user wishesto utilize the control device in a particular area it is probable thatonly a content player in that particular area may receive the IR signalAs the RF signal may have a greater range than the IR signal and maypass through structures such as walls and doors, it is probable that thecontent player with which the control device is currently configured tocontrol may receive the RF signal even if that content player is not inthe particular area where the user indicates that the user wishes toutilize the control device. In some cases, the configuration sequencemay also include transmitting an instruction to a component associatedwith the content player within IR signaling proximity of the controldevice (such as the display device 105) to activate (power on) via theIR transmitter and/or receiver 114.

The content player with which the control device 102 is alreadyconfigured to control, such as the content player 101, may receive theRF signal. If the content player 101 also receives the IR signal, suchas if the content player 101 is within the area where the user indicatedthat the user wished to utilize the control device, the content player101 may abort the configuration sequence as the content player 101 isalready controlled by the control device.

If, however, the content player 101 does not receive the IR signal, thecontent player 101 may determine whether or not another content playerconnected to the network 103 (such as one of the content players A-N104A-104N) notifies the content player 101 that the other content playerhas received the IR signal. If so, the content player 101 may determinethat the user has requested to configure the control device 102 tocontrol the other content player. As such, the content player 101 maycommand the control device to instruct a presentation device (such asthe display device 105) associated with the other content player toactivate (i.e., power on). Such a command may include one or more IRcodes for activating the component associated with the other contentplayer (which may be stored in the non-transitory storage medium 107and/or the non-transitory storage medium 115). The other content playermay present a prompt via the associated component that may request theuser to confirm that the user wishes to configure the control device tocontrol the other content player and/or associated equipment. If anaffirmative response is received, the content player 101 may instructthe control device to allow the control device to be configured tocontrol the other content player. Such instruction may includecommanding the control device to utilize an entry in a table of controlentries that corresponds to the other content player. Alternatively,such instruction may include instructing the control device to unpairfrom the control device so that the other content player may pair withthe control device.

However, even if a target content player is within the area in which theuser has indicated that the user wishes to utilize the control device102, the target content player may not receive the IR signal (such as ifan IR transmitter and/or receiver of the target content player isblocked). As such, if the content player (such as the content player101) that receives the RF signal determines that another content playerconnected to the network 103 (such as one of the content players A-N104A-104N) has not notified the content player 101 that the IR signalwas received, the content player 101 may command the control device toinstruct all presentation devices known to the control device to beassociated with any content player connected to the network 103 toactivate. The content player 101 may also command all content playersconnected to the network 103 to present a prompt requesting the userconfirm whether or not to configure the control device to control therespective content player on the presentation device associated with therespective content player. The content player 101 may then determinewhich of the content players connected to the network 103 to which theuser wishes to configure the control device to control based on whichresponse is received for which prompt. As such, the content player 101may instruct the control device to allow the control device to beconfigured to control the determined content player. Such instructionmay include commanding the control device to utilize an entry in a tableof control entries that corresponds to the determined content player.Alternatively, such instruction may include instructing the controldevice to unpair from the control device so that the determined contentplayer may pair with the control device.

In one or more implementations, the control device 102 may store a tableof control entries received from one or more content players (such asthe content player 101 and/or the content players A-N 104A-104N)connected to the network 103. Each of the control entries may correspondto one of the content players and may include a control entry for therespective content player (such as a RF entry) and a set of commandcodes (such as IR command codes) for components that are associated withthe respective content player. The control device 102 may be configuredto control and/or configured to no longer control one or more of thecontent players by configuring which of the entries in the table thecontrol device is set to utilize. As such, when the control devicereconfigures to no longer control a particular content player and tocontrol another content player, the control device may be configured toutilize the entry corresponding to the other content player instead ofthe entry corresponding to the particular content player.

In such implementations, the table of control entries may be constructedby one or more of content players connected to the network 103, such asthe content player 101 and/or the content players A-N 104A-104N. Inconstructing the table of control entries, the content player maycommunicate with other content players connected to the network in orderto determine entries to create for each content player, command codes toinclude in the entries for the respective content player for associatedcomponents (though some entries may not include command codes forcomponents associated with the content player corresponding to thatentry as some content players may not be associated with components),and so on. If the content player constructing the table of controlentries determines that the control device 102 does not currently storethe table of entries, the content player may transmit the table ofentries to the control device and also may instruct the control deviceas to which of the entries to utilize. The control device maysubsequently be reconfigured to no longer control a currently controlledcontent player and to control a different content player by updatingwhich entry in the table of pairing entries that the control device isconfigured to utilize.

Additionally, one or more of the content players connected to thenetwork 103, such as the content player 101 and/or the content playersA-N 104A-104N, may determine that the table of entries stored by thecontrol device 102 contains information that is inaccurate. Theinformation in the table of entries stored by the control device may beout of date if one or more content players have been added to and/orremoved from the network, if one or more components have been associatedand/or de-associated with one or more content players connected to thenetwork, and so on. If the content player determines that that the tableof entries stored by the control device 102 contains information that isinaccurate, the content player may command the control device to updatethe inaccurate information. Such updating may be performed as soon asthe information becomes inaccurate, upon a set update schedule (such asat 3 am every morning), and so on.

Although the system 100 is illustrated and described above such that thefirst signal is an RF signal and the second signal is an IR signal,other signal types are possible. For example, the second signal may be atype of signal other than an IR signal that may be received by contentplayers within a certain proximity to the control device (such as twentyfeet) whereas the first signal may be a type of signal other than a RFsignal that may be received by a content player paired with the controldevice that is outside of the certain proximity to the control device.

FIG. 2 illustrates a method 200 for assisting use of control deviceswith different content players in a network of content players. Themethod 200 may be performed by the content player 101 of FIG. 1. Theflow begins at block 201 and proceeds to block 202 where content player101 operates. The flow then proceeds to block 203 where the processingunit 106 determines whether or not the content receiver 101 receives afirst signal from a control device 102 (such as a remote control device)that is currently configured to control the content receiver 101indicating that a user intends to utilize the control device in an area.If so, the flow proceeds to block 204. Otherwise, the flow returns toblock 202 where the content receiver 101 continues to operate.

At block 204, after the processing unit 106 determines that the contentreceiver 101 receives the first signal, the processing unit determineswhether or not the content receiver 101 receives a second signal thatthe control device 102 transmitted to a content player located in thearea in which the user intends to utilize the control device. If so, theflow returns to block 202 and the content player 101 continues tooperate, as the content player 101 is already controlled by the controldevice. Otherwise, the flow proceeds to block 205.

At block 205, after the processing unit 106 determines that the contentreceiver does not receive the second signal, the processing unitdetermines whether or not the content receiver receives a notificationfrom another content player connected to the network 103 indicating thatthe other content receiver received the second signal. If so, the flowproceeds to block 206. Otherwise, the flow proceeds to block 209.

At block 206, after the processing unit 106 determines that the contentreceiver 101 receives the notification, the processing unit transmits acommand to the control device 102 to instruct a display related to theother content player to activate (i.e., power on). The flow thenproceeds to block 207. At block 207, the processing unit determineswhether or not a confirmation to configure the control device to controlthe other player has been received. If so, the flow proceeds to block208. Otherwise, the flow returns to block 202 and the content player 101continues to operate under the control of the control device.

At block 208, after the processing unit 106 determines that aconfirmation to configure the control device 102 to control the othercontent player has been received, the processing unit instructs thecontrol device to allow the control device to be configured to controlthe other content player. As part of such, if the control device is notcapable of controlling multiple content players simultaneously, theprocessing unit may instruct the control device to reconfigure such thatthe control device no longer controls the content player 101. The flowthen returns to block 202 and the content player continues to operate.

At block 209, after the processing unit 106 determines that the contentreceiver 101 does not receive the notification, the processing unittransmits a command to the control device 102 to instruct all displaysknown to the control device to be associated with any content playerconnected to the network 103 to activate (i.e., power on). Theprocessing unit may also signal the other content players to displayconfirmation prompts on their associated displays indicating for theuser to make a particular selection to configure the control device tocontrol the content player associated with that display. The flow thenproceeds to block 210. At block 210, the processing unit determineswhether or not a confirmation to configure the control device to controlanother content player identified based on the display which displayedthe confirmation prompt to which a response was received. If so, theflow proceeds to block 211. Otherwise, the flow returns to block 202 andthe content player 101 continues to operate.

At block 211, after the processing unit 106 determines that aconfirmation to configure the control device 102 to control anothercontent player was received based on the displayed confirmation prompt,the processing unit instructs the control device to allow the controldevice to be configured to control the identified content player. Aspart of such, if the control device is not capable of controllingmultiple content players simultaneously, the processing unit mayinstruct the control device to reconfigure such that the control deviceno longer controls the content player 101. The flow then returns toblock 202 and the content player continues to operate.

Although the method 200 is illustrated and described as includingparticular operations performed in a particular order, otherarrangements of other operations are within the scope of the presentdisclosure. By way of a first example, in other implementations, theorder of blocks 203 and 204 may be reversed. By way of another example,the control device 102 may be configured to anticipate receipt of thecommand transmitted in either block 206 or 209 and if such a command isnot received with a period of time (such as two seconds), the controldevice may act as if the command transmitted in block 209 was received.As such, if the processing unit 106 determines at block 204 that thecontent receiver 101 receives the second signal, the processing unit maytransmit a command to the control device instructing the control deviceto omit instructing any displays to power on.

FIG. 3 illustrates a method 300 for assisting use of control deviceswith different content players in a network of content players. Themethod 300 may be performed by the content player 101 of FIG. 1. Theflow begins at block 301 and proceeds to block 302 where the contentplayer 101 operates. The flow then proceeds to block 303 where theprocessing unit 106 determines whether or not to set up the controldevice 102 (such as a remote control device). The processing unit maydetermine to set up the control device if a request to configure thecontrol device to control the content player 101 is received and thecontrol device has not yet been configured to control a content playerconnected to the network 103. If so, the flow proceeds to block 304.Otherwise, the flow proceeds to block 307.

At block 304, after the processing unit 106 determines to set up thecontrol device 102, the content player 101 constructs the table ofcontrol entries. As part of the table of control entries, the contentplayer 101 communicates with other content players connected to thenetwork 103 to determine entries to create as well as one or more setsof command codes (such as IR command codes) for components associatedwith the content player corresponding to the respective entry (thoughsome entries may not include any command codes as some content playersmay not be associated with any components). The pairing entry table mayalso include information needed to allow the control device tocommunicate via RF with other content players (such as the contentplayers 104A-N). Such information could include for example media accesscontrol (MAC) addresses, personal area network (PAN) identifiers andaddresses, encryption keys, and so on. The flow then proceeds to block305 where the processing unit transmits the table of control entries tothe control device before the flow proceeds to block 306. At block 306,the processing unit transmits an instruction to the control deviceinstructing the control device to utilize a particular entry of thetable of control entries. The flow then returns to block 302 where thecontent player 101 continues to operate.

At block 307, after the processing unit 106 determines not to set up thecontrol device 102, the processing unit determines whether or not toupdate the table of control entries. The processing unit may determineto update the table of control entries if the processing unit determinesthat information in the table has changed (such as in response toinformation received from another content player). If so, the flowproceeds to block 308. Otherwise, the flow proceeds to block 310.

At block 308, the processing unit 106 determines to update the table ofcontrol entries, the processing unit updates the table of controlentries. Then the flow proceeds to block 309 where the processing unittransmits the updated table to the control device 102 before the flowreturns to block 302 and the content player 101 continues to operate.

At block 310, the processing unit 106 determines not to update the tableof control entries, the processing unit determines whether or not tochange content player to which the control device 102 is configured tocontrol. If not, the flow returns to block 302 where the content player101 continues to operate. Otherwise, the flow proceeds to block 311where the processing unit transmits an instruction to the control deviceinstructing the control device to utilize a different entry in the tableof control entries that corresponds to the content player to which thecontrol device is to be configured to control. The flow then returns toblock 302 where the content player 101 continues to operate.

Although the method 300 is illustrated and described as includingparticular operations performed in a particular order, otherarrangements of other operations are within the scope of the presentdisclosure. For example, blocks 308 and 309 are illustrated as separateoperations performed in a linear sequence. However, in variousimplementations the content player 101 may instruct the control device102 to update the stored table instead of updating the table and thentransmitting the updated table to the control device.

FIGS. 4A-4E illustrate a user 408 utilizing a system 401 for assistinguse of a control device 407 with different content players 404 and 406in a network of content players. As illustrated in FIG. 4A, a user 408is present in a living room 401. The user is illustrated as holding aremote control device 407 that is configured to control a set top box404. The set top box 404 is associated with a television 403. The remotecontrol may contain information related to controlling the television403 with IR transmissions. However, the television 403 is notillustrated as powered on (although in other implementations thetelevision 403 may be powered on or powered off). As also illustrated inFIG. 4A, a bedroom 402 is separate from the living room 401. A set topbox 406 and an associated television 405 are located in the bedroom 402.However, the television 405 is also not illustrated as powered on.

As illustrated in FIG. 4B, the user 408 may move into the bedroom 402and indicate via one or more buttons or other controls of the remotecontrol device 407 that the user wishes to utilize the remote controldevice in the bedroom. As such, the remote control device may transmit afirst signal to the set top box with which the remote control device isconfigured to control (i.e., the set top box 404) and a second signal toa set top box in the area of the bedroom (i.e., the set top box 406).The set top box 404 may receive the first signal and may receive anotification from the set top box 406 that the set top box 406 hasreceived the second signal. In response, the set top box 404 may commandthe remote control device to instruct the television 405 to activate orpower on. As illustrated in FIG. 4C, the television 405 may then poweron and the set top box 406 may display a confirmation prompt on thetelevision 405 requesting that the user confirm that the user wishes toconfigure the remote control device to control the set top box 406. Ifconfirmation is received, the remote control device may be instructed byset top box 404 (in this implementation) to reconfigure from beingconfigured to control the set top box 404 to being configured to controlthe set top box 406. The reconfiguration may be accomplished byutilizing a different control entry in a memory of the remote control.In other implementations, the reconfiguration may be accomplished bydepairing the remote control from the set top box 404 and pairing theremote control with the set top box 406. The remote control device maythen be utilized to control the set top box 406 as illustrated in FIG.4D.

However, returning to FIG. 4B, the set top box 404 may receive the firstsignal but may not receive a notification from the set top box 406 thatthe set top box 406 has received the second signal. This may be becausethe set top box 406 did not receive the second signal. Hence, the settop box 404 may command the remote control device 407 to instruct allknown televisions to activate or power on and command set top boxesassociated with such televisions to display a prompt asking the user 408to confirm that the user wishes to utilize the remote control devicewith the set top box associated with that television, as illustrated inFIG. 4E. If confirmation is received in response to the prompt displayedby one of the televisions, the remote control device may be configuredto control the set top box that displayed the prompt (if the remotecontrol is not already configured to control the set top box thatdisplayed the prompt, in which case the configuration is not changed).If a response to the confirmation displayed by the television 405 isreceived, indicating that the user has selected to configure the remotecontrol device to control the set top box 406, the remote control devicemay reconfigure from being configured to control the set top box 404 andTV 403 to being configured to control the set top box 406 and TV 405.The reconfiguration may be accomplished by utilizing a different controlentry in a memory of the remote control. In other implementations, thereconfiguration may be accomplished by depairing the remote control fromthe set top box 404 and pairing the remote control with the set top box406. The remote control device may then be utilized to control the settop box 406 as illustrated in FIG. 4D.

Returning to FIG. 1, in various implementations the control device 102and/or the content player 101 may perform one or more methods forassisting use of control devices with different electronic devices.Although the electronic devices are illustrated in FIG. 1 and describedabove as content players 101 and/or content players A-N 104A-104N, invarious implementations the electronic devices may be other kinds ofelectronic devices without departing from the scope of the presentdisclosure. For example, such electronic devices may include contentplayers, electronic kitchen appliances, automobiles, televisions, settop boxes, television receivers, digital video recorders, televisiontuners, digital music players, desktop computers, laptop computers,cellular telephones, smart phones, mobile computing devices,environmental control systems, and so on. Additionally, though theelectronic devices illustrated in FIG. 1 and described above as allbeing configured to communicate via the network 103, such electronicdevices may or may not be configured to communicate via such a networkwithout departing from the scope of the present disclosure.

In these various implementations, the control device 102 may beconfigured to control the content player A 104A. The processing unit 112of the control device may execute instructions stored in thenon-transitory storage medium 115 to transmit one or more commands tothe content player 104A. In some cases, the command may be transmittedvia one or more signals transmitted by the RF transmitter and/orreceiver 113 (such as one or more RF signals) and/or the IR transmitterand/or receiver 114 (such as one or more IR signals). In other cases,the command may be transmitted by one or more other communicationcomponents (not shown) of the control device. When the processing unit112 transmits such a command, the processing unit 112 may request anacknowledgement from the content player 104A to ensure that thetransmitted command is received by the content player 104A.

After transmitting a command to the content player 104A, the processingunit 112 may determine that the acknowledgement is not received. In somecases, the acknowledgement may not be received because the contentplayer 104A did not receive the command and did not transmit theacknowledgement. In other cases, the content player 104A may havereceived the command, but may have not transmitted the acknowledgement.In still other cases, the content player 104A may have transmitted theacknowledgement, but the processing unit 112 may still have not receivedthe acknowledgement.

Regardless, upon determining that the acknowledgement is not received,the processing unit 112 may broadcast one or more discovery messages toall electronic devices within range of one or more signals utilized tobroadcast the discovery message (such as one or more RF signalstransmitted via the RF transmitter and/or receiver 113) that areoperable to be controlled by the control device 102. The electronicdevices (such as the content player 101 and/or any of the contentplayers illustrated in FIG. 1 and described above other than contentplayer A 104A) that receive such a discovery message may determinewhether or not they also received a proximity message transmitted by thecontrol device. Such a proximity message may be transmitted via a typeof signal, such as an IR signal transmitted by the IR transmitter and/orreceiver 114, that has a limited range and/or a line-of-sightrestriction such that the proximity message will be received if thecontrol device is within the limited range when transmitting. Further,such a proximity message may be at least a portion of the commandtransmitted by the processing unit 112 to the content player A 104A, maybe transmitted when the discovery message is transmitted (and/or priorto broadcast of the discovery message), and/or may be otherwisetransmitted by the control device to indicate to electronic deviceswhether or not they are proximate to the control device. If theelectronic devices receive the discovery message and the proximitysignal, the electronic devices may determine that they are proximate tothe control device and may transmit one or more responses to the controldevice. Such responses may include information for configuring thecontrol device to control the respective electronic device.

The processing unit 112 may utilize the information included in theresponse to configure the control device 102 to control the respectiveelectronic device. The processing unit 112 may also transmit anacknowledgement utilizing the RF transmitter and/or receiver 113, the IRtransmitter and/or receiver 114, and/or another communication component(not shown) to the respective electronic device indicating that thecontrol device is now configured to control the respective electronicdevice. If the respective electronic device is configured to communicatewith the content player A 104A, the respective electronic device maynotify the content player A 104A via the network 103 that the controldevice is now configured to control the respective electronic device.

For example, the broadcast message and the proximity signal may bereceived by the content player 101. As such, the content player 101 maytransmit a response to the control device 102. The control device maythen configure itself to control the content player 101 and may transmitan acknowledgment of such to the content player 101. As the contentplayer 101 is configured to communicate with the content player A 104A,the content player 101 may notify the content player A 104A that thecontrol device is now configured to control the content player 101.

In some cases, the control device 102 may be configured to controland/or cease controlling electronic devices by pairing/unpairing withthe electronic devices. In such cases the configuration informationincluded in the response may include information for pairing the controldevice with the electronic device that transmitted the response. Assuch, the control device may configure itself to control the electronicdevice that transmitted the response by unpairing itself from theelectronic device with which the control device was previously pairedand pairing itself with the electronic device that transmitted theresponse utilizing the pairing information included in the response.

In other cases, as discussed above, the control device 102 may store atable of control entries (such as in the non-transitory storage medium115) for controlling a plurality of electronic devices. The controldevice 102 may configure itself to control a particular electronicdevice of the plurality by utilizing a particular entry of the tableand/or may configure itself to no longer control the particularelectronic device of the plurality by utilizing a different entry of thetable. In such cases, the control device may receive and/or update sucha table from one or more of the electronic devices. Additionally in suchcases, the configuration information included in a response to adiscovery message may include a specification of a particular entry ofthe table for the control device to utilize in order to control therespective electronic device.

In various cases, the control device 102 may receive responses frommultiple electronic devices to a broadcast discovery message. In such asituation, the control device 102 may select one of the respondingelectronic devices to configure itself to control and may then configureitself to control the selected responding electronic device.

For example, the control device 102 may select the electronic devicecorresponding to the first response that is received. As the response isreceived first, the corresponding electronic device may be locatedcloser to the control device than the electronic devices correspondingto responses that are received subsequently.

By way of another example, the control device 102 may select theelectronic device corresponding to the response that is carried by asignal which has a higher signal strength than the signals that carryother received responses. As the signal has a higher signal strength, itis likely that the signal is transmitted by an electronic device that ismore proximate to the control device than the electronic devicescorresponding to responses received via signals with weaker signalstrengths.

By way of a third example, the control device 102 may select theelectronic device that it has previously been configured to control ifone of the responses corresponds to such an electronic device and theother one or more other responses correspond to electronic devices thatthe control device has not been previously configured to control. As thecontrol device has previously been utilized to control the respectiveelectronic device, it is likely that the user may be attempting toutilize the control device to control the respective electronic device.

By way of a fourth example, electronic devices may include anauthorization identifier (such as a serial number or other identifier)that indicates to the control device 102 that the respective electronicdevice is authorized to be utilized with the control device. In thisway, the control device may be prevented from configuring itself tocontrol with one or more electronic devices that the control device maynot be designed and/or intended to control (such as one or moreknock-off electronic devices).

By way of a fifth example, the control device 102 may select theelectronic device that corresponds to one of the multiple responses inresponse to input received from a user. In some cases, the controldevice and/or the various electronic devices may present one or moreprompts to which the user may respond via the control device. As such,the control device may select the electronic device that is specified bythe user's input.

FIG. 5 illustrates a method 500 for assisting use of control deviceswith different electronic devices. The method 500 may be performed bythe control device 102 of FIG. 1. The flow begins at block 501 andproceeds to block 502 where the control device operates. The flow thenproceeds to block 503 where the processing unit 112 determines whetheror not to transmit a command to a first electronic device which thecontrol device is configured to control. The control device maydetermine whether or not to transmit the command to the first electronicdevice in response to input received from a user. If so, the controldevice transmits the command and the flow proceeds to block 504.Otherwise, the flow returns to block 502 and the control devicecontinues to operate.

At block 504, after the processing unit 112 transmits the command, theprocessing unit determines whether or not an acknowledgement of thetransmitted command is received from the first electronic device. If so,the flow returns to block 502 and the control device continues tooperate. Otherwise, the flow proceeds to block 505.

At block 505, after the processing unit 112 determines that anacknowledgement of the transmitted command is not received from thefirst electronic device, the processing unit broadcasts a discoverymessage to all electronic devices within range of the discovery messagethat are operable to be controlled by the control device 102. The flowthen proceeds to block 506 where the processing unit receives at leastone response to the discovery request from one or more electronicdevices that received the discovery message as well as a proximitysignal transmitted by the processing unit. Such a proximity signal maybe transmitted with the command and/or along with and/or previous to thediscovery message. If at least one response has not been received, insome implementations the processing unit may continue to wait until aresponse is received. In other implementations, the processing unit mayrepeat broadcast of the discovery message. In still otherimplementations, the processing unit may present one or more errormessages and the flow may end.

The flow then proceeds to block 507 where the processing unit 112determines whether a single response has been received or whethermultiple responses have been received. If a single response has beenreceived, the flow proceeds to block 508. Otherwise, the flow proceedsto block 510.

At block 508, after the processing unit 112 determines that a singleresponse has been received, the processing unit configures the controldevice 102 to control the responding electronic device utilizingconfiguration information included in the response. The flow thenproceeds to block 509 where the processing unit transmits anacknowledgement to the responding electronic device that the controldevice is now configured to control the responding electronic device.Then the flow returns to block 502 and the control device continues tooperate.

At block 510, after the processing unit 112 determines that multipleresponses have been received, the processing unit selects one of theresponding electronic devices. The flow then proceeds to block 511 wherethe processing unit configures the control device 102 to control theselected responding electronic device utilizing configurationinformation included in the response. Next, the flow proceeds to block512 where the processing unit transmits an acknowledgement to theselected responding electronic device that the control device is nowconfigured to control the selected responding electronic device beforethe flow returns to block 502 and the control device continues tooperate.

Although the method 500 is illustrated and described as includingparticular operations performed in a particular order, otherarrangements of other operations are within the scope of the presentdisclosure. For example, the processing unit 112 is illustrated anddescribed as transmitting an acknowledgement to an electronic deviceafter the processing unit configures the control device 102 to controlthe respective electronic device. However, in other implementations thisacknowledgment may be sent simultaneously with the configuration and/orthe processing unit may not transmit such an acknowledgement.

FIG. 6 illustrates a method 600 for assisting use of control deviceswith different electronic devices. The method 600 may be performed by anelectronic device such as the content player 101 of FIG. 1. The flowbegins at block 601 and proceeds to block 602 where the electronicdevice operates. The flow then proceeds to block 603 where theelectronic device determines whether or not a discovery message from acontrol device 102 that has transmitted a command to a controlledelectronic device and not received an acknowledgement is received. Ifso, the flow proceeds to block 604. Otherwise, the flow returns to block602 and the electronic device continues to operate.

At block 604, after the electronic device determines that a discoverymessage from a control device 102 that has transmitted a command to acontrolled electronic device and not received an acknowledgement isreceived, the electronic device determines whether or not a proximitysignal from the control device has also been received. If so, the flowproceeds to block 605. Otherwise, the flow returns to block 602 and theelectronic device continues to operate.

At block 605, after the electronic device determines that a proximitysignal from the control device 102 has also been received, theelectronic device transmits a response to the control device thatincludes configuration information for configuring the control device tocontrol the electronic device. In some implementations, the receivedresponse may be provided as part of a responding device performing a setof multiple operations such as responding to the discovery request,receiving a pairing request, sending a pairing acceptance response, andso on. The flow then proceeds to block 606 where the electronic devicereceives an acknowledgement from the control device indicating that thecontrol device is now configured to control the electronic device.

Next, the flow proceeds to block 607 where the electronic devicedetermines whether or not the electronic device is configured tocommunicate with the previously controlled electronic device (such asvia the network 103). If so, the flow proceeds to block 608. Otherwise,the flow returns to block 602 and the electronic device continues tooperate as controlled by the control device.

At block 608, the electronic device notifies the previously controlledelectronic device that the control device 102 is now configured tocontrol the electronic device. The flow then returns to block 602 andthe electronic device continues to operate as controlled by the controldevice.

Although the method 600 is illustrated and described as includingparticular operations performed in a particular order, otherarrangements of other operations are within the scope of the presentdisclosure. For example, the electronic device is illustrated anddescribed as determining whether or not a discovery message is receivedprior to determining whether or not a proximity signal has also beenreceived. However, in other implementations, performance of theseoperations may be reversed, performed simultaneously, and so on.

In the present disclosure, the methods disclosed may be implemented assets of instructions or software readable by a device. Further, it isunderstood that the specific order or hierarchy of steps in the methodsdisclosed are examples of sample approaches. In other embodiments, thespecific order or hierarchy of steps in the method can be rearrangedwhile remaining within the disclosed subject matter. The accompanyingmethod claims present elements of the various steps in a sample order,and are not necessarily meant to be limited to the specific order orhierarchy presented.

The described disclosure may be provided as a computer program product,or software, that may include a non-transitory machine-readable mediumhaving stored thereon instructions, which may be used to program acomputer system (or other electronic devices) to perform a processaccording to the present disclosure. A non-transitory machine-readablemedium includes any mechanism for storing information in a form (e.g.,software, processing application) readable by a machine (e.g., acomputer). The non-transitory machine-readable medium may take the formof, but is not limited to, a magnetic storage medium (e.g., floppydiskette, video cassette, and so on); optical storage medium (e.g.,CD-ROM); magneto-optical storage medium; read only memory (ROM); randomaccess memory (RAM); erasable programmable memory (e.g., EPROM andEEPROM); flash memory; and so on.

It is believed that the present disclosure and many of its attendantadvantages will be understood by the foregoing description, and it willbe apparent that various changes may be made in the form, constructionand arrangement of the components without departing from the disclosedsubject matter or without sacrificing all of its material advantages.The form described is merely explanatory, and it is the intention of thefollowing claims to encompass and include such changes.

While the present disclosure has been described with reference tovarious embodiments, it will be understood that these embodiments areillustrative and that the scope of the disclosure is not limited tothem. Many variations, modifications, additions, and improvements arepossible. More generally, embodiments in accordance with the presentdisclosure have been described in the context or particular embodiments.Functionality may be separated or combined in blocks differently invarious embodiments of the disclosure or described with differentterminology. These and other variations, modifications, additions, andimprovements may fall within the scope of the disclosure as defined inthe claims that follow.

1. A method for assisting use of control devices with differentelectronic devices, the method comprising: determining, utilizing acontrol device, that an acknowledgement is not received in response toat least one command transmitted by the control device to a firstelectronic device which the control device is configured to control;broadcasting at least one discovery message, utilizing the controldevice, to all electronic devices that are within range of at least onesignal utilized to transmit the at least one discovery message and areoperable to be controlled by the control device; receiving, utilizingthe control device, at least one response to the at least one discoverymessage from a second electronic device that received the at least onediscovery message and at least one proximity signal transmitted by thecontrol device; and configuring the control device to control the secondelectronic device utilizing information included in the at least oneresponse.
 2. The method of claim 1, further comprising transmitting aconfiguration acknowledgement from the control device to the secondelectronic device indicating that the control device is configured tocontrol the second electronic device.
 3. The method of claim 1, whereinthe at least one proximity signal is included in at least one of the atleast one command or the at least one discovery message.
 4. The methodof claim 1, wherein at least one signal utilized to transmit the atleast one discovery message comprises at least one radio frequencysignal and the at least one proximity signal comprises at least oneinfrared signal.
 5. The method of claim 1, wherein said operation ofconfiguring the control device to control the second electronic deviceutilizing information included in the at least one response furthercomprises: unpairing the control device from the first electronicdevice; and pairing the control device with the second electronic deviceutilizing pairing information included in the at least one response. 6.The method of claim 1, wherein the second electronic device isconfigured to communicate with the first electronic device, furthercomprising notifying the first electronic device utilizing the secondelectronic device that the control device is configured to control thesecond electronic device.
 7. The method of claim 1, wherein the controldevice receives at least one additional response to the at least onediscovery message from at least one additional electronic device furthercomprising selecting the second electronic device to configure thecontrol device to control.
 8. The method of claim 7, wherein the controldevice performs said operation of selecting the second electronic deviceto configure the control device to control because at least one of: thecontrol device receives the at least one response prior to the at leastone additional response, the at least one response is carried by atleast one first signal that has a higher signal strength than at leastone second signal that carries the at least one additional response, theat least one response includes at least one valid authorizationidentifier and the at least one additional response does not include avalid authorization identifier, the control device has been previouslyconfigured to control the second electronic device but not theadditional electronic device, or the control device receives at leastone user input specifying to select the second electronic device.
 9. Themethod of claim 1, wherein the control device includes at least onetable of control entries for controlling a plurality of electronicdevices that includes the first electronic device and the secondelectronic device wherein each of the control entries correspond to oneof the plurality of electronic devices and wherein said operation ofconfiguring the control device to control the second electronic deviceutilizing information included in the at least one response comprisesconfiguring the control device to utilize the control entrycorresponding to the second electronic device instead of the controlentry corresponding to the first electronic device.
 10. The method ofclaim 9, wherein the control device receives the at least one table ofcontrol entries from at least one electronic device of the plurality ofelectronic devices.
 11. A system for assisting use of control deviceswith different electronic devices, comprising: a control device,comprising: at least one first communication component configured tocommunicate utilizing a first type of signal and at least one secondcommunication component configured to communicate utilizing a secondtype of signal; and at least one processing unit that determines that anacknowledgement is not received in response to at least one commandtransmitted by the at least one first communication component to a firstelectronic device that the control device is configured to control;wherein, in response to determining that the acknowledgement is notreceived, the at least one processing unit: broadcasts at least onediscovery message utilizing the at least one first communicationcomponent to all electronic devices that are within range of at leastone signal of the first type of signal transmitted by the at least onefirst communication component and are operable to be controlled by thecontrol device; receives at least one response utilizing the at leastone first communication component to the at least one discovery messagefrom a second electronic device that received the at least one discoverymessage and at least one proximity signal of the second type of signaltransmitted by the at least one second communication component; andconfigures the control device to control the second electronic deviceutilizing information included in the at least one response.
 12. Thesystem of claim 11, wherein the at least one processing unit configuresthe control device to control the second electronic device by unpairingthe control device from the first electronic device and pairing thecontrol device with the second electronic device utilizing pairinginformation included in the at least one response.
 13. The system ofclaim 11, wherein the control device includes at least onenon-transitory storage medium that stores at least one table of controlentries for controlling a plurality of electronic devices that includesthe first electronic device and the second electronic device whereineach of the control entries correspond to one of the plurality ofelectronic devices and wherein the at least one processing unitconfigures the control device to control the second electronic deviceutilizing information included in the at least one response byconfiguring the control device to utilize the control entrycorresponding to the second electronic device instead of the controlentry corresponding to the first electronic device.
 14. The system ofclaim 11, wherein the control device receives the at least one table ofcontrol entries from at least one electronic device of the plurality ofelectronic devices.
 15. The system of claim 11, wherein the at least oneprocessing unit receives at least one additional response to the atleast one discovery message from at least one additional electronicdevice and the at least one processing unit selects the secondelectronic device to configure the control device to control.
 16. Thesystem of claim 15, wherein least one processing unit selects the secondelectronic device to configure the control device to control because atleast one of: the at least one processing unit receives the at least oneresponse prior to the at least one additional response, the at least oneresponse is carried by at least one first signal that has a highersignal strength than at least one second signal that carries the atleast one additional response, the at least one response includes atleast one valid authorization identifier and the at least one additionalresponse does not include a valid authorization identifier, the controldevice has been previously configured to control the second electronicdevice but not the additional electronic device, or the at least oneprocessing unit receives at least one user input specifying to selectthe second electronic device.
 17. The system of claim 11, wherein thesecond electronic device is configured to communicate with the firstelectronic device and the second electronic device notifies the firstelectronic device that the control device is configured to control thesecond electronic device.
 18. The system of claim 11, wherein the firsttype of signal comprises at least one radio frequency signal and thesecond type of signal comprises at least one infrared signal.
 19. Thesystem of claim 11, wherein the at least one proximity signal istransmitted when the at least one first communication componenttransmits at least one of the at least one command or the at least onediscovery message.
 20. The system of claim 11, wherein the at least oneprocessing unit transmits a configuration acknowledgement to the secondelectronic device utilizing the at least one first communicationcomponent indicating that the control device is configured to controlthe second electronic device.